package com.cmc.cloud.cmclink.doc.vo.blnocntrvo;

import lombok.*;

import java.math.BigDecimal;
import java.util.*;

import io.swagger.v3.oas.annotations.media.Schema;
import com.cmes.framework.common.pojo.PageParam;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;

import static com.cmes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 提单箱型信息分页 Request VO
 *
 * @author codegen
 */
@Schema(description = "管理后台 - 提单货物信息分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BlnoCntrPageReqVO extends PageParam {

    @Schema(description = "提单主信息id", example = "14359")
    private Long blnoId;

    @Schema(description = "箱号")
    private String cntrNo;

    @Schema(description = "铅封号")
    private String sealNo;

    @Schema(description = "箱型", example = "2")
    private String cntrType;

    @Schema(description = "尺寸")
    private String cntrSize;

    @Schema(description = "箱主代码")
    private String cntrOwner;

    @Schema(description = "箱内货物件数")
    private Integer quantity;

    @Schema(description = "箱内货物毛重")
    private BigDecimal grossWeight;

    @Schema(description = "箱内货物体积")
    private BigDecimal measurement;

    @Schema(description = "箱皮重")
    private BigDecimal cntrTare;

    @Schema(description = "VGM重量")
    private BigDecimal vgmWeight;

    @Schema(description = "VGM称重方式")
    private String vgmTypeCode;

    @Schema(description = "VGM称重地点")
    private String vgmAddress;

    @Schema(description = "VGM称重时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] vgmTime;

    @Schema(description = "VGM验证签名")
    private String vgmSignature;

    @Schema(description = "前超")
    private Integer overForward;

    @Schema(description = "后超")
    private Integer overAfter;

    @Schema(description = "左超")
    private Integer overLeft;

    @Schema(description = "右超")
    private Integer overRight;

    @Schema(description = "上超")
    private Integer overHeight;

    @Schema(description = "拼箱标记(同航次 同箱号就算拼)")
    private Boolean lcl;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}
